// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site

Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site

Cum să alegăți cel mai bun site pentru jocuri de casino online

Daca cautati cel mai bun site de jocuri de casino online pentru tara Romania, atentie la urmatoarele aspecte: verificati daca site-ul este licentiat si reglementat; examinati gama de jocuri oferite; verificati daca exista bonusuri si promotieri interesante; asigurati-vă că site-ul oferă metode de plată sigure și protecte; verifica dacă există suport client 24/7; citeste recenzii și opinii despre site-ul respectiv; încercă mai multe site-uri pentru a alege cel mai bun. Astfel, puteți să vă asigurați că alegerea dvs. este una bună și puteți să vă bucurați de experiența de joc online în siguranță.

Joacă jocuri de casino online în total siguranță

Doriți să jucați jocuri de casino online într-un mediu sigur? Joacă pe site-uri de încredere și reglementate. Verificați dacă casino-ul online este licențiat și are o politică clară de joc responsabil. Utilizați metode de plată sigure și verificați dacă jocurile sunt provate de auditoare independente. Joacă doar la jocuri de la producători recunoscuți. În plus, respectați case de pariuri Romania legile țării cu privire la jocurile de noroc online. Astfel, puteți să vă bucurați de experiența jocului de casino online în total siguranță.

Citiți mai multe despre cum să jucați jocuri de casino online în total siguranță.

Pariere sportive online: ce trebuie să știi

Pariere sportive online: ce trebuie să știi include cunoașterea legislației românești privind gambling-ul online, achiziționarea de conturi de la case de pariuri online licențiate, gestionarea bugetului de pariuri, citirea atentă a cotelor, verificarea ofertei de pariuri în direct, și respectarea confidențialității și securității datelor personale. Este important să pariezi responsabil și să eviți pariurile care depășesc capacitățile tale financiare.

Câștigă bani reali cu jocurile de casino online

Doriți să câștigați bani reali jucând jocuri de casino online? Ne place să vă oferim cele mai bune recomandări pentru cazinouri online de încredere disponibile în România. Încercați norocul la jocuri populare, precum blackjack, ruleta sau sloturi și puteți să vă transformați hobby-ul într-o sursă de venit. Nu uitați să verificați bonusurile de bun venit și să vă asigurați că selectați un site licențiat și sigur. Începeți astăzi și puteți să câștigați bani reali cu jocurile de casino online!

Experiență de casino de calitate pe internet

Dacă sunteți pe căutarea unei experiențe de casino de calitate pe internet, atunci ați putea să vă bucurați de jocurile de noroc online securizate și pline de emoție. Casinourile de top online oferă o varietate de jocuri, inclusiv jocuri de masă ca blackjack și roulette, precum și sloturi cu jackpoturi mari. Un design modern și intuitiv, asigurarea unei game pline de jocuri și o atenție deosebită acordată securității fac din experiența de joc online una dintre cele mai bune. De asemenea, multe dintre aceste casinouri oferă și opțiuni de joc live, unde puteți să vă bucurați de prezența unui dealer real. Pe lângă toate acestea, bonusurile generoase și programele de fidelitate atrăgătoare fac din experiența de casino pe internet una de neuitat. Astfel, dacă sunteți din țara României, puteți să vă așteptați la o experiență de casino de calitate pe internet.

“Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site” este exact ce-i spune numele – cel mai bun site pentru a juca jocuri de casino online și paria pe sport! Am încercat mai multe site-uri de casino online, dar acesta este cel mai bun fără îndoială. Interfața lor este ușor de utilizat, au o mulțime de jocuri diferite pentru a alege și oferă recompense generoase. Eu, Maria, de 30 de ani, vă recomand cu încredere să vă înregistrați și să începeți să jucați acum!

“Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site” este un site pe care l-am descoperit recent și am fost uimit de ofertele lor. Am pariat pe mai multe meciuri de sport și am câștigat câteva bani decente. Interfața lor este foarte prietenoasă și sigură. Totul este atât de ușor de utilizat, chiar dacă nu ai prea multă experiență cu pariurile sportive online. Totul e la locul lui, de la înregistrare până la retragere. Și eu, Petru, de 25 de ani, vă recomand acest site grozav.

Sunt un mare fan al jocurilor de casino online și am găsit “Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site” să fie printre cele mai bune. Este atât de ușor de utilizat și au o gamă largă de jocuri pentru a alege. Ceea ce mi-a plăcut cel mai mult a fost procesul de înregistrare simplu și rapid. De asemenea, oferă recompense generoase pentru jucători noi. Sunt sigură că veți avea o experiență minunată aici. Cristina, 35 de ani.

Am fost dezamăgit de experiența mea cu “Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site”. Am încercat să pariaz pe un meci de fotbal, dar procesul de înregistrare a fost dificil și confuz. De asemenea, am avut probleme cu retragerea banilor câștigați. Nu mi-a plăcut nici faptul că nu au multe opțiuni de plată. Nu cred că este unul dintre cele mai bune site-uri de casino online. Mihai, 40 de ani.

“Joacă Jocuri de Casino Online și Pariezi Pe Sport la Cel Mai Bun Site” s-a dovedit a fi dezamăgitor. Am jucat la câteva jocuri de casino, dar nu am câștigat prea mult. De asemenea, am găsit site-ul dificil de utilizat și interfața lor nu este prea prietenoasă. Nu cred că este unul dintre cele mai bune site-uri de casino online. Simona, 45 de ani.

Doriți să jucați jocuri de casino online și pariați pe sport într-un mediu sigur și de încredere? Ne puteți vizita pe cel mai bun site de acest gen.

Ați întrebări despre cum puteți începe să jucați sau cum puteți face un depozit? Consultați secțiunea noastră de întrebări frecvente pentru răspunsuri clare și utile.

Intrați în lumea emoționantă a cazinourilor online și a pariurilor sportive și experimentați o experiență de joc unică, cu noi la cel mai bun site de gaming online!

Design and Develop by Ovatheme